#ifndef CON_DETAIL_CONDATA_H
#define CON_DETAIL_CONDATA_H

#pragma once

#include <windows.h>
#include <memory>
#include "IOStream.h"

namespace Con
{
	namespace detail
	{
		class ChildProcessRecorder;

		//
		// simple wrapper around console internals
		//
		class ConData
		{
			std::auto_ptr<detail::IO> io;
			DWORD pid;
			ChildProcessRecorder& recorder;
			HWND hwnd;

		public:
			ConData(DWORD pid, IO* io, ChildProcessRecorder& recorder, HWND hwnd);

			~ConData();

			unsigned long GetPid() const;

			void BringToFront() const;

			void SendToBack() const;

			IO* GetStreamPointer() const;
		};
	}
}

#endif
